#请求头
'''
一、网络通信步骤：
1.电脑（浏览器）：url --www.baidu.com     域名
2.DNS服务器： ip地址标注服务器 --1.1.1.1  IP地址
3.DNS服务器返回IP地址给浏览器
4.浏览器拿到IP地址去访问服务器，返回像响应
5.服务器返回给我们呢的响应数据，html/css/js/jpg


百度首页：有很多部分组成起来
html:文本
css:样式，控制文字大小、颜色
js:行为,包括鼠标点击
jpg:图片


网络通信的实际原理：
一个请求只能对应一个数据包（文件）
之后抓包可能会有很多个数据包，共同组成了这个页面
'''
#http协议和https协议

#http协议：规定了服务器和客户端互相通信的规则
#http协议：超文本传输协议，默认端口号是80
'''
超文本：不仅仅限于文本，还包括图片、音频、视频
传输协议：指使用公用约定的固定格式来传递转换成字符串的超文本内容
'''
#https协议：http+ssl(安全套接字层)  默认端口号是443
'''
带有安全套接字层的超文本传输协议。
ssl对传输内容进行加密
https比http更安全，但性能更低
'''

#http请求/响应的步骤：
'''
1.客户端链接到web服务器
2.发送http请求
3.服务器接受请求返回响应
4.释放连接tcp连接
5.客户端解析html内容

'''
#network 浏览器自带的抓包工具
'''
打开浏览器，在地址栏按F12，打开自带抓包工具，查看数据和请求头

谷歌浏览器，右键-->检查 打开network浏览器抓包工具

'''
#headers
'''
请求URL: https://www.baidu.com/
请求方式：get 和 post（get是直接向服务器获取资源，post是提交资源（比如登录））
状态代码：200  （获取资源成功）
远程地址：153.3.238.28:443
……
……

请求头（Request Headers）
……
……
User-Agent:模拟正常用户的一种方式
cookie:登录保持、反爬
referer:当前这一次请求是由哪个请求过来的

抓包得到的响应内容（response）才是判断依据，elements中的源码是渲染之后
的源码，不能作为判断标准。

'''

#字符串的编码和解码
name = 'jiuge'
print(name,type(name))

#编码 encode()  把字符串转换成二进制字符串 str-->bytes
name2=name.encode()
print(name2,type(name2))

#解码 decode()  把二进制字符串转换成字符串 bytes-->str
name3=name2.decode()
print(name3,type(name3))


#图片、视频、音频、需要以bytes类型的格式去保存
























